#ifndef __PREVIEWSCENE_H__
#define __PREVIEWSCENE_H__

#include <bigimage/scene.h>


class CGameObjectMaterial;
class CParticleMaterial;
class CRibbonMaterial;
class CMDXParticleManager;
class CPreviewScene: public CScene{
public:
    CPreviewScene();
    virtual ~CPreviewScene();
    virtual bool32 Final();
    virtual void Update( int32 nDelta, float fDelta );
    virtual void Render( CTextureTarget* pTextureTarget, int32 nViewportWidth, int32 nViewportHeight );
    virtual CSkyBox* GetSkyBox();
    virtual void AddChild( CGameObject* pGameObject );
    virtual void RemoveChild( CGameObject* pGameObject );
    void AddGameObjectRenderElement( CGameObject* pGameObject );
    void RemoveGameObjectRenderElement( CGameObject* pGameObject );
    CMDXParticleManager* GetParticleManager(){ return m_rParticleManager.GetEntityData(); }


private:
    //CColor m_tAmbientLightColor;
    CColor m_tFogColor;
    float m_fFogNear;
    float m_fFogFar;


    Ref<CRenderElementManager*> m_rGameObjectRenderElementManager;
    Ref < CGameObjectMaterial* > m_rGameObjectMaterial;

    Ref<CMDXParticleManager*> m_rParticleManager;
    Ref < CParticleMaterial* > m_rParticleMaterial;
    //Ref < CRibbonMaterial* > m_rRibbonMaterial;

};



#endif

